using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Gratamira.AccesoDato;

namespace Gratamira.CapaNegocio
{
    public class UsuarioBD
    {
        private string _UsuarioID;
        private string _Nombre;
        private string _Clave;
        private char _Estado;   //A=Activo, I=Inactivo
        private String _Usuario;
        private DateTime _FechaHora;

        #region Propiedades
        public string UsuarioID
        {
            get
            {
                return _UsuarioID;
            }
            set
            {
                _UsuarioID = value;
            }
        }
        public string Nombre
        {
            get
            {
                return _Nombre;
            }
            set
            {
                _Nombre = value;
            }
        }
        public string Clave
        {
            get
            {
                return _Clave;
            }
            set
            {
                _Clave = value;
            }
        }
        public char Estado
        {
            get
            {
                return _Estado;
            }
            set
            {
                _Estado = value;
            }
        }
        public string Usuario
        {
            get
            {
                return _Usuario;
            }
            set
            {
                _Usuario = value;
            }
        }
        public DateTime FechaHora
        {
            get
            {
                return _FechaHora;
            }
            set
            {
                _FechaHora = value;
            }
        }
        #endregion Propiedades

        #region Constructores
        public UsuarioBD(DataSet dsDatos)
        {
            string tSql = "SELECT UsuarioID,Nombre,Estado,Clave,CodUsuCre, FecHorCre, UsuUltMod, FecUltMod " +
                          "FROM Usuarios ORDER BY UsuarioID";
            accesoDatos p = new accesoDatos();
            DataTable dt = new DataTable();
            dt = p.leerDatosSQL(tSql, "");
            dt.TableName = "Usuario";
            dsDatos.Tables.Add(dt);
        }
        public UsuarioBD()
        {
        }
        #endregion Constructores

        #region Metodos Publicos
        public void insertarRegistro()
        {
            FechaHora = DateTime.Now;
            string tSql = "INSERT INTO Usuarios (UsuarioID, Nombre,Estado,Clave,CodUsuCre, FecHorCre, UsuUltMod, FecUltMod) " + 
                          "VALUES ('" + UsuarioID + "'" +
                          ",'" + Nombre + "'" +
                          ",'" + Estado + "'" +
                          ",'" + Clave + "'" +
                          ",'" + Usuario + "'" +
                          ",'" + FechaHora.ToString("M/dd/yyyy hh:mm:ss") + "'" +
                          ",'" + Usuario + "'" +
                          ",'" + FechaHora.ToString("M/dd/yyyy hh:mm:ss") + "')";
            accesoDatos p = new accesoDatos();
            int nRegs = p.ejecutarSQL(tSql, "");
        }

        public void actualizarRegistro()
        {
            FechaHora = DateTime.Now;
            string tSql = "UPDATE Usuarios SET " +
                          "Nombre = '" + Nombre + "', " +
                          "Estado = '" + Estado + "', " +
                          "Clave = '" + Clave + "', " +
                          "UsuUltMod = '" + Usuario + "', " +
                          "FecUltMod = '" + FechaHora.ToString("M/dd/yyyy hh:mm:ss")  + "'" + 
                          " WHERE UsuarioID = '" + UsuarioID + "'"; 
            accesoDatos p = new accesoDatos();
            int nRegs = p.ejecutarSQL(tSql, "");
        }
        
        public void borrarRegistro()
        {
            string tSql = "DELETE FROM Usuarios " +
                          "WHERE UsuarioID = '" + UsuarioID + "'";
            accesoDatos p = new accesoDatos();
            int nRegs = p.ejecutarSQL(tSql, "");
        }
        #endregion Metodos Publicos

    }
}
